]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
main: Register session with GDM on startup
authorAdrian Vovk <adrianvovk@gmail.com>
Thu, 1 May 2025 22:34:52 +0000 (18:34 -0400)
committerFlorian Müllner <fmuellner@gnome.org>
Mon, 24 Nov 2025 13:42:59 +0000 (14:42 +0100)
When no monitor is connected, gnome-shell starts but never emits
`startup-prepared` nor `startup-complete`. As a result, GDM never
detects that the shell has launched and plymouthd remains running,
preventing the system from reaching graphical.target.

Ensure that registerSessionWithGDM() is called even when no monitor
is connected, so GDM can terminate plymouthd and allow the system to
reach graphical.target properly.

Part of https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/285

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3708>
(cherry picked from commit 32a013304f8c507cb72a5419c7f4b7c553253520)

js/ui/main.js

index 4a011f262b529ed283564d7dc6d7876c5d5ca168..bd3906311fb0d99a46725b9759357b07f337ab8f 100644 (file)
@@ -335,6 +335,8 @@ async function _initializeUI() {
     extensionManager = new ExtensionSystem.ExtensionManager();
     extensionManager.init();
 
+    LoginManager.registerSessionWithGDM();
+
     if (sessionMode.isGreeter && screenShield) {
         layoutManager.connect('startup-prepared', () => {
             screenShield.showDialog();
@@ -381,8 +383,6 @@ async function _initializeUI() {
             sessionMode.currentMode !== 'initial-setup')
             _handleLockScreenWarning();
 
-        LoginManager.registerSessionWithGDM();
-
         if (perfModule) {
             let perfOutput = GLib.getenv('SHELL_PERF_OUTPUT');
             Scripting.runPerfScript(perfModule, perfOutput);